#include <iostream>

using namespace std;
using ll=long long;
const int N=1e5+10;
int a[N];

ll dp[N][2];
int main()
{
	int n,x;
	cin>>n>>x;
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]);
	for(int i=2;i<=n;i++)
	{
		dp[i][0]=max(dp[i-1][0]+(a[i]^a[i-1]),dp[i-1][1]+(a[i]^(a[i-1]+x)));
		dp[i][1]=max(dp[i-1][0]+((a[i]+x)^a[i-1]),dp[i-1][1]+((a[i]+x)^(a[i-1]+x)));
	}
	
	
	cout<<max(dp[n][0],dp[n][1]);
	
	return 0;
}
